Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

325
Vistas
No se puede obtener un valor del par clave-valor usando [FromBody]

Los datos se envían desde el front-end al back-end. El cuerpo de la solicitud se crea así

 var stateWithValue = {}; for (const item in self.pricings()) { state[item] = self.pricings()[item]["Comment"]; } var request = { generalComment: self.generalComment(), stateWithValue: stateWithValue };

El cuerpo de la solicitud se ve así

 { generalComment: "test comment", stateWithValue: { Delaware: "Value1", California: "Value2", Texas: "Value3" } }

El número de elementos en stateWithValue puede ser diferente para cada solicitud.

En el back-end, los datos se toman usando el atributo [FromBody]

 public WebApiResponseGeneric<EmptyResponse> State([FromBody] StateRequest request)

StateRequest.cs

 public class StateRequest : PublicRequest { public string GlobalComment { get; set; } public StateWithValue StateWithValue { get; set; } } public class StateWithValue { public string State { get; set; } public string Value { get; set; } }

En la pestaña de red (consola de desarrollo), la carga útil se ve así

generalComment: prueba el comentario general stateWithValue[Delaware]: Value1 stateWithValue[California]: Value2 stateWithValue[Texas]: Value3

El problema En el objeto de solicitud de back-end, StateWithValue.State StateWithValue.Value son ambos nulos.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

También debe publicar la clase PublicRequest. Pero para su cuerpo de solicitud json, su clase debería ser

 public class StateRequest : PublicRequest { public string generalComment{ get; set; } public Dictionary<string, string> stateWithValue { get; set; } }

o cambiar

 public class StateRequest : PublicRequest { public string GlobalComment { get; set; } public List<StateWithValue> StateWithValue { get; set; } }

y javascript

 var stateWithValue = []; for (const item in self.pricings()) { var stateWithValueItem={}; stateWithValueItem.State =item; stateWithValueItem.Value = self.pricings()[item]["Comment"]; stateWithValue.push(stateWithValueItem); }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Para mapear el JSON:

 { generalComment: "test comment", stateWithValue: { Delaware: "Value1", California: "Value2", Texas: "Value3" } }

Necesitaría usar el siguiente modelo de C#

 public class StateRequest : PublicRequest { public string GeneralComment { get; set; } public StateWithValue StateWithValue { get; set; } } public class StateWithValue { public string Dalaware { get; set; } public string California { get; set; } public string Texas { get; set; } }

Si desea mapear varios estados, considere usar una matriz en su lugar, algo como:

 { generalComment: "test comment", stateWithValue: [ State: "Delaware", Value: "Value1", State: "California", Value: "Value2", State: "Texas", Value: "Value3" ] }

Pero su modelo necesitaría ser actualizado para verse así:

 public class StateRequest : PublicRequest { public string GeneralComment { get; set; } public List<StateWithValue> StatesWithValues { get; set; } }

Nota: Hay un error tipográfico con general vs Global en su código de muestra

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda